home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / ada / c01oop.zip / ADAWKBK / SOL2-3.ADA < prev    next >
Text File  |  1992-08-25  |  1KB  |  38 lines

  1. -- Problem 2.3
  2. -- by Rick Conn
  3. with Text_IO;
  4. procedure Main is
  5.  
  6.   type SQUARE is (EMPTY, CROSS, ZERO);
  7.   type ROW is (ROW_1, ROW_2, ROW_3);
  8.   type COL is (COL_1, COL_2, COL_3);
  9.   type TIC_TAC_TOE_BOARD is array (ROW, COL) of SQUARE;
  10.  
  11.   TTT_1 : TIC_TAC_TOE_BOARD := (ROW_1 => (EMPTY, CROSS, CROSS),
  12.                                 ROW_2 => (ZERO, EMPTY, EMPTY),
  13.                                 ROW_3 => (ZERO, ZERO, CROSS));
  14.  
  15.   TTT_2 : TIC_TAC_TOE_BOARD := (ROW_1 => (CROSS, ZERO, CROSS),
  16.                                 ROW_2 => (ZERO, ZERO, EMPTY),
  17.                                 ROW_3 => (ZERO, CROSS, CROSS));
  18.  
  19.   procedure Display (TTT : in TIC_TAC_TOE_BOARD) is
  20.     package Square_IO is new Text_IO.Enumeration_IO (SQUARE);
  21.   begin -- Display
  22.     Text_IO.Put_Line ("TTT Board:");
  23.     for R in ROW loop
  24.       Text_IO.Put ("  ");
  25.       for C in COL loop
  26.         Square_IO.Put (TTT_1 (R, C), 6);
  27.       end loop;
  28.       Text_IO.New_Line;
  29.     end loop;
  30.   end Display;
  31.  
  32. begin -- Main
  33.  
  34.   Display (TTT_1);
  35.   Display (TTT_2);
  36.  
  37. end Main;
  38.